import json

s = """
{
    "stem": "编写一个函数，计算给定二叉树中所有节点值的乘积，不使用除法，仅用递归实现。",
    "answer": [
        {
            "code": "def product_of_nodes(root):\n    if not root:\n        return 1\n    else:\n        left_product = product_of_nodes(root.left)\n        right_product = product_of_nodes(root.right)\n        return left_product * right_product if root.val != 1 else left_product + right_product"
        },
        {
            "code": "def product_of_nodes_recursively(root):\n    if root is None:\n        return 1\n    else:\n        left_product = product_of_nodes_recursively(root.left)\n        right_product = product_of_nodes_recursively(root.right)\n        return left_product * right_product if root.val != 1 else left_product + right_product"
        }
    ],
    "knowledge": "递归、二叉树遍历、树的节点值乘积",
    "input_case": [
        {"root": {"val": 1, "left": {"val": 2, "left": None, "right": None}, "right": {"val": 3, "left": None, "right": {"val": 4, "left": None, "right": None}}}}
    ],
    "output_case": [{"result": 120}],
    "time": "O(n)",
    "memory": "O(n)",
    "language": "Python"
}
"""

print(s.replace('None', "None"))

s2 = """
{'stem': '在一个电商网站的后台管理系统中，开发者需要实现一个功能，用于统计过去一周内每天新注册用户的数量，并以图表形式展现趋势。为了高效存储和查询这些数据，以下哪种数据库设计方案最合适？', 'options': {'A': '关系型数据库', 'B': '文档型数据库', 'C': '键值对数据库', 'D': '列式数据库'}, 'answer': 'D', 'knowledge': ['数据库'], 'analyze': "本题主要考察了考生对于不同类型数据库的理解和应用能力。根据题目描述，我们需要处理的是时间序列数据，并且需要高效的查询效率。因此，最适合的数据库设计方案是列式数据库，因为列式数据库在处理大量数值类型的数据时具有很高的查询效率。而关系型数据库、文档型数据库和键值对数据库在处理这种问题时可能效率较低。"}
"""

# 替换单引号为双引号
s2_corrected = s2.replace("'", '"')

# 解析 JSON 字符串为字典
data_dict = json.loads(s2_corrected)

print(data_dict)

s3 = """
{
"stem": "自然语言处理中，关键词提取是基础任务。基于统计的TF-IDF算法，能有效挖掘文本主题。编程实现时，需关注词频统计和逆文档频率计算",
"options": {
    "A": "关键词提取",
    "B": "文本主题挖掘",
    "C": "词频统计",
    "D": "逆文档频率计算"
},
"answer": "A",
"knowledge": [
    "智能语音"
],
"analysis": "关键词提取是自然语言处理中的基础任务，它通过分析文本中的关键词来识别文本的主题。基于统计的TF-IDF算法是一种有效的方法，它可以有效地挖掘文本的主题。在编程实现时，需要关注词频统计和逆文档频率计算，这两个步骤对于关键词提取至关重要。"
}
"""
print(str(json.loads(s3)))
print(type(json.loads(s3)))